綜合前幾天的經驗,我們可以得知幾個重要的資訊
首先是 Laravel 實作路由的時候,很大程度上利用了 symfony 的元件
接著是在最後取得路由之後,使用了
$controller->{$method}(...array_values($parameters))
這段程式來運作對應的控制器和方法。
今天我們來嘗試看看怎麼運作。
首先,我們將原本的程式引入 symfony/route
,變成了
{
"name": "recca/reccaval-framework",
"description": "a test project for mimicking laravel/framework",
"type": "library",
"license": "MIT",
"autoload": {
"psr-4": {
"Reccaval\\": "src/"
}
},
"authors": [
{
"name": "Recca Chao",
"email": "flamerecca711@gmail.com"
}
],
"require": {
"symfony/http-foundation": "^7.1",
"symfony/routing": "^7.1"
}
}
接著我們試著先使用 symfony 的 Route
和 RouteCollection
來建立路由
一樣推到 GitHub Repo 並更新版號之後,在原本的專案更新
composer update
- Upgrading recca/reccaval-framework (0.0.2 => 0.0.3): Extracting archive
接著我們就要學一下怎麼使用 symfony/routing
套件了
學習的材料可以看 https://symfony.com/doc/current/routing.html